1. Technical Field
The invention relates to electronic networks. More particularly, the invention relates to establishing and maintaining efficient communication between two IP hosts that have differing MTUs and that primarily use TCP as their transport protocol.
2. Description of the Prior Art
When an IP (Internet Protocol) routing entity has interfaces with differing MTUs (Maximum Transmission Unit) and a large IP packet containing a TCP (Transmission Control Protocol) segment must be forwarded from an interface having a smaller MTU, the routing entity typically does one of two things:
Fragment the packet using IP fragmentation; or
Drop the packet and send an ICMP (Internet Control Message Protocol) DESTINATION UNREACHABLE; FRAGMENTATION NEEDED message back to the sending host.
IP fragmentation breaks the large IP packet into several smaller IP fragments which require reassembly by the receiving host. Dropping the packet causes the data to be lost, and sending an ICMP DESTINATION UNREACHABLE; FRAGMENTATION NEEDED message back to the host causes the host to reduce its path MTU and use smaller IP packets.
IP fragmentation places the burden of reassembling the IP fragments onto the receiving host. When a host receives IP fragments, it must fully reassemble all of the fragments to form a complete IP packet before it can deliver the payload to TCP. This requires additional buffer and CPU resources at the receiving host and increases the latency of receiving a TCP segment. Additionally, if any of the fragments are dropped or otherwise lost during transit, the entire original TCP segment must be retransmitted.
Dropping the IP packet and sending an ICMP DESTINATION UNREACHABLExe2x80x94FRAGMENTATION NEEDED message back to the sending host causes the host""s path MTU discovery algorithm to choose a smaller MTU for the path and use that smaller MTU for future transmissions. When this occurs, it forces a host that is capable of using a larger MTU to use a smaller MTU, reducing the host""s efficiency. It also requires the entire TCP segment to be retransmitted.
It would be advantageous to allow a host that is capable of sending large IP packets to do so, even when it is communicating over a path that is not capable of carrying large IP packets. It would also be advantageous not to burden the receiving host with the task of reassembling the IP packet from the various IP fragments. Finally, it would be advantageous to enable this ability without requiring all of the connected stations in the network to use the smallest MTU of any interface along the path that a packet takes as it traverses the network.
The invention provides a resegmentation entity that implements a TCP resegmentation technique wherein a receiving host receives packets that appear as if it they have been transmitted specifically for the receiving host""s MTU. The receiving host does not require the buffering and CPU utilization necessary for IP reassembly. Also, the receiving host has a lower latency when receiving IP datagrams that contain resegmented TCP segments than it would if it needed to re-assemble an IP datagram from fragments before it could process the TCP segment. Further, the sending host transmits TCP segments at its largest MTU, without regard to the receiving station""s MTU, knowing that the intermediate routing entity insures that TCP resegmentation occurs. In the event that an IP datagram containing a re-segmented TCP segment is lost, the sending host only has to retransmit the actual TCP data that was lost, and not the complete TCP segment.